什麼是 UML?簡單而全面的UML教學
UML介紹
統一建模語言(UML)是軟體工程領域使用的語言,代表物件導向程式設計概念的組成部分。它是定義整個軟體架構或結構的通用方法。
在物件導向程式設計中,我們透過將複雜演算法視為物件或實體來解決複雜演算法並與之互動。這些物件可以是任何東西。它可以是銀行或銀行經理。該物體可以是車輛、動物、機器等。
這些任務可以與其他物件互動、將資料從一個物件傳輸到另一個物件、操作其他物件等。因此,UML為我們提供了一種在圖表中表示和追蹤這些物件的方法,從而成為我們軟體架構的藍圖。
UML的起源與歷史
UML 的概念最初是在1900 年代末期的1994 年到1995 年期間由Rational Software 開發的。下來。這些組織設定UML的目的是。
- UML將為軟體開發人員提供分析和設計軟體架構的藍圖和其他工具。它還將對業務和其他類似流程進行建模。
- 它將為在不同工具之間交換有關模型的資訊鋪平有意義的方式,並且將簽訂解釋合約。
UML 1.x
自 UML 概念提出以來,UML 一直在不斷發展。 1996年,Rumbaugh、Jacobson和Booch組織UML Partners完成了統一建模語言(UML)的形式和規範,並最終在1997年發布了UML 1.0草案。它有一些不足,所以之後又製作了不同的版本,如UML 1.2、1.3等。
UML 2.x
目前世界使用的 UML 是 UML 2.x。 2005 年,UML 1.5 被 UML 2.0 取代,UML 2.0 是其前身的更發達、更高級的版本。然而,此後又發布了許多版本,如2.1.1、2.1.2等。它比以前的 UML 包含更多的功能。
UML 中使用的物件導向概念
在了解 UML 之前,您應該了解什麼是物件導向程式設計及其概念。物件導向程式設計概念的六個主要概念是。
Classes
類別是包含屬性、屬性、建構子或方法的資料結構。將其視為一個容器。該類別也稱為藍圖。
物件
物件是程式設計師用來解決現實世界問題的現實世界實體。該物件可以是任何東西,從人到建築物等。
繼承
繼承這個詞我們都很熟悉。 OOP 中的繼承可讓您從超類別繼承子類別。當從超類別繼承一個類別時,除了超類別私有的屬性或方法之外,您還可以存取超類別的屬性、建構子、方法和物件。
抽象
抽象化使您可以向使用者隱藏類別的功能細節。在抽像中,您初始化抽象類別中的方法並在繼承的子類別中定義這些方法。
封裝
封裝讓你可以從外界保護你的屬性和方法的安全性。你可以通過定義 getter 和 setter 方法來實現封裝。
多態性
“Poly”的意思是“許多”,“mor”的意思是“形式或面孔”。結合在一起形成「多種形式」。多態性可讓您透過方法重載和方法重寫概念從類別中的單一方法或屬性建立許多屬性和方法。
來源: francescolelli.info
什麼是 UML圖?
UML圖顯示了UML(統一建模語言)系統的統一視覺呈現,旨在讓開發人員或企業主理解、分析和承擔其係統的結構和行為。
到目前為止,UML圖表已成為最常見的業務流程建模工具之一,同時對於物件導向軟體開發的發展具有重要意義。
為什麼要使用 UML圖?
UML圖對於軟體開發人員和業務人員都有許多好處,最關鍵的優點是:
- 解決問題 - 企業可以改善其產品質量,尤其是在大規模複雜系統中降低成本。一些其他現實生活中的問題,如物流分配或安全性,也可以得到解決;
- 提升生產力 - 通過使用 UML圖表,團隊中的每個人都能理解並處於同一個頁面,從而在以後的工作中節省大量時間;
- 易於理解 - 由於不同的角色對系統的不同方面感興趣,UML圖表為非專業開發人員(如利益相關者、設計師或業務研究人員)提供了對系統需求、功能和流程的清晰且表達豐富的呈現。
UML圖的用法
此圖可用於許多不同的領域,包括軟體工程或業務流程,以提高效率。
- 起草系統 - 在這種情況下,開發團隊使用 UML圖來討論概要並建立整個系統。這可能包括針對不同活動、角色、參與者等的正向設計和逆向設計;
- 視覺化程式語言 - 可以將某個系統中不同類型的UML圖直接翻譯成程式碼,以節省軟體或相關應用程式開發的時間;
- 業務分析 - 實際上,UML圖也可以用來分析業務銷售路徑,以改善客戶服務;
UML 對比ER圖
下面列出了 UML圖和 ER 圖之間的主要差異。
完整圖表 | 統一建模語言(UML) | 實體關係圖(ER) |
---|---|---|
定義 | UML圖是一種通用方法,用於視覺化軟體中使用的物件導向概念的主要概念。它是軟體架構的藍圖。 | ER 圖是物件及其關係的圖形表示。 |
人際關係 | UML圖是 ER 圖的超類別。 | ER 圖是 UML圖的子類別。 |
用法 | 它用於設計整個軟體架構並對其進行追蹤。 | 它用於設計和實作資料庫。 |
UML 種類有哪些?
UML圖的兩個最主要類別是結構 UML圖和行為 UML圖。此外,UML圖的 14 個子類型分為這兩類,每一類都有不同的用途。現在讓我們更詳細地查看所有這些內容,如下所示。您也可以點擊它們以查看更多內容並免費下載這些範例。
結構圖
這些圖顯示了不同的物件和系統的靜態結構。結構圖中的元素可能包括抽象化和一些其他相關的實作概念。此類別有六個子類型:
- 類別圖
- 複合結構圖
- 物件圖
- 組件圖
- 部署圖
- 封裝圖
- 剖面圖
類別圖
它是使用最廣泛的 UML圖子類別。 類別圖 是所有物件導向的構建塊軟體系統。使用者可以透過檢查系統的類別和屬性來描述系統的靜態結構並識別系統的類別關係。每個類別都有三個基本元素:頂部的類別名稱、中間的類別屬性和底部的類別行為。現實中,您可以在業務系統中建立「銷售帳戶」或「線上使用者」等類,或在學術系統中建立「教師」和「學生」等類。
複合結構圖
複合結構圖 用來顯示系統中的內部結構、分類器的行為、類別之間的關係。組合結構類型類似於類別圖,但前者表示更詳細的各個部分而不是整個系統結構。
物件圖
物件圖可以認為是特定係統中實例及其內部關係的截圖。透過使用這些圖表,開發人員可以分析系統在特定時刻的操作,並檢查其抽象結構。此外,軟體開發中類別和物件之間的關係可以描述為類別「Food」和品牌「KFC」之間的關係,或通用類別「User」和名為「David」的特定使用者名稱之間的關係。或其他什麼。
元件圖
元件圖 用於顯示系統中實體組件的組織方式。通常,開發人員使用組件圖來檢查實作細節,將系統分解為較小的部分,描述系統元素之間的結構關係,特別是在具有更先進技術的大型複雜專案的情況下。
部署圖
部署圖 一般用於向使用者展示軟體和硬體之間的視覺關係。軟體開發領域的範例部署圖有兩個主要部分:節點(基本上是不同類型的伺服器)和工件(通常是客戶端或資料庫模式)。節點託管工件,而不同類型的工件在節點上運行。
封裝圖
封裝圖用於描述如何將套件及其元素組織成系統中有意義的群組。更具體地說,包圖可以被視為包含許多具有節點和工件的部署圖的結構。到目前為止,包圖用於組織類別圖和用例圖。
剖面圖
剖面圖 是統一建模語言(UML)的擴展,它是使用構造型、標記值和約束來擴展和自訂 UML 的結構圖。
物件圖與類別圖
物件圖和類別圖共享相同的概念,但它們也有區別。
類別圖是表示軟體中類別的結構的圖。該圖表示該類別包含的內容以及它們如何與軟體中的其他類別互動。類別圖顯示了軟體架構中不同類別之間的關係。
但是,物件圖顯示了物件的屬性、它們如何與其他物件互動、它們如何使用類別的不同方法與類別的其他物件進行通訊。類別圖是關於類別的,而物件圖是關於物件的。
行為圖
這些圖表顯示了動態行為,或者換句話說,顯示了系統中應該發生的情況。例如,物件彼此互動的方式,或在一定時期內對系統進行的一組變更。此類別有七個子類型:
- 狀態機圖
- 活動圖
- 用例圖
- 時序圖
- 通訊圖
- 時序圖
- 互動概覽圖
狀態機圖(狀態機或狀態圖)
這些 UML圖表用於表示系統的狀態,以及類別對特定時間基於內部或外部因素的動態行為(不同的狀態)。一個實際的例子是狀態機器圖表可以是打撲克牌遊戲。遊戲的最終結果(不同的狀態)可能基於玩家的具體策略而有所不同。
活動圖
活動圖 用於說明系統中不同活動和動作之間的相互連接流程(包括順序形式或並行形式),並展示用例執行中涉及的步驟。這種類型的 UML圖表在業務建模過程和軟體開發中被廣泛使用。
用例圖
使用案例圖 可以被視為討論專案關鍵角色和流程的良好起點,而無需涉及太多實現細節。這種 UML圖表也是行為 UML圖表類別中最受歡迎的類型,用於分析系統的功能(使用案例)以及與不同類型代理人(角色)的交互作用。對於商業案例,企業可以使用這些圖表來通過監控庫存、產品質量等來檢查客戶訂單系統。對於日常生活案例,使用案例圖類似於您本地超市的熱銷產品列表。當您做出購買決定時,您可以根據列表了解產品名稱及價格。
時序圖
序列圖通常顯示順序中物件之間的互動命令。它供使用者記錄和理解新系統中的需求。在軟體開發中,這種類型的圖用於表示系統的架構。
溝通圖(協作圖)
通訊圖用於顯示物件之間的順序通訊關注主要對象及其關係。通訊圖通常使用數字方案和指向箭頭來顯示訊息流。此外,與序列圖相比,通訊圖更容易設計,但在起草系統文件時包含的細節較少。
時序圖
時序圖是序列圖的一種特殊形式,用於顯示物件在一定時間限制內的行為。它類似iPhone的發展史,或是國際企業的成長趨勢等形式。
互動概覽圖
互動概覽圖顯示一系列行為並幫助使用者將系統中複雜的互動(矩形框架)簡化為更簡單的形式。它可以被視為專門活動圖和序列圖的混合體,但互動概述圖比活動圖擁有更多元素,例如互動、時間約束等。
活動圖與序列圖
活動圖和序列圖是行為UML圖的類型之一,並且有很大的差異。
活動圖向我們展示了每個軟體元件如何逐步執行活動。另外,也顯示了活動的交流。
在序列圖中,顯示了物件及其正確的執行順序。它們的性能是在某些事件發生時觸發的,但所有物件都以序列形式工作。
EdrawMax
多合一圖表軟體
- 優秀的文件兼容性:可以將圖形導入和導出至各種文件格式,例如 Visio。
- 跨平台支持 (Windows, Mac, Linux, Web)
免費 UML圖模板
這裡有免費下載的UML圖表模板,讓您輕鬆了解所有這些 UML 子類別。所有這些模板都可在 EdrawMax 中進行編輯。點擊任何模板以查看更多詳細資訊。
學生管理使用案例圖 | UML 序列圖模板 | 銀行系統使用案例模板 |
UML 元件圖模板 | 票務 UML 協作模板 | 部署圖模板 |
關鍵 UML符號
在每個 UML 分類中都有許多UML圖表符號。在所有這些符號中,類別圖符號(定義類別的屬性和操作)、活動圖符號(用於顯示狀態和活動)和使用案例圖符號(用不同類型的箭頭表示)是最受歡迎的。
如何啟動基於 UML 的開發專案?
啟動基於 UML 的開發項目的流程非常簡單。
確定你要開發的內容
首先,你需要確定正在開發什麼。這是什麼類型的軟體?它將具有哪些功能?使用者對這個軟體有什麼期望?
計劃軟體的架構
在了解了項目的內容後,深入了解軟體的內部結構。計算項目中將包含哪些類別。這些類別包含屬性、建構函式和方法。會有多少個物件?類別之間如何互動?這是非常複雜的工作,最好諮詢一位軟體開發人員來規劃您的軟體架構。
建立 UML圖表
現在,在計算了內部結構後,請使用軟體來設計您的 UML圖表。您無法使用紙和筆或鉛筆在紙上繪製 UML圖表。您可以使用 EdrawMax,這是眾所周知的最佳圖表製作軟體。利用所有 UML 的概念來製作您的 UML圖表。看看如何連接繼承的類別,或者如何連接其他類別使用的類別屬性。檢查您是在制定軟體結構還是定義類別、方法、物件等的行為,然後決定您需要製作的 UML 類型,是結構 UML圖表還是行為 UML圖表。請接受有關製作 UML圖表的培訓。
開發您的項目
最後,開始開發項目。如果您發現任何不足,不要擔心。您有一個 UML圖表。使用它並添加您的擴展。利用 UML 跟踪您的項目。
如何輕鬆繪製 UML圖?
選擇一個易於使用的 UML工具對於想要創建專業 UML圖表的每個人來說都很重要。幸運的是,EdrawMax 是最多功能的 UML工具之一。只需按照以下步驟,快速繪製專業的 UML圖表。
步驟 1: 為您的作品開啟預設的 UML圖範本或空白繪圖頁。雙擊 UML 模型圖類別中的圖示之一開始建立。
步驟 2: 從內建庫中拖曳 UML 標準形狀。調整形狀大小以適合繪圖板。
步驟 3:將 UML 形狀對齊或分組到適當的位置。
步驟 4: 透過在形狀上新增更多連接點或使用預設的關係線來連接 UML 形狀。
步驟 5: 雙擊可編輯預設形狀文字。
步驟 6: 透過更改形狀/線條的顏色、嘗試不同的圖表主題和添加背景等,進一步格式化您的 UML圖。
步驟 7: 列印、儲存至內建個人/團隊雲端或匯出為不同格式,包括 Visio、MS Office、PDF 等。
立即製作您自己的 UML圖!
只需使用 EdrawMax 即可實現高效的 UML圖表繪製。享受億圖精緻的繪圖板、豐富的 UML 形狀內置庫、多種格式的快速導出選項(包括 Visio)、用於通信的預設團隊和個人雲帳戶以及方便的拖放編輯器。點擊本頁末的免費下載按鈕以探索更多功能。